A Secure Federated Learning framework using Homomorphic Encryption and Verifiable Computing
使用同态加密和可验证计算的安全联邦学习框架
在本文中,我们提出了第一个联邦学习(FL)框架,该框架在所产生的模型不被披露给聚合服务器的情况下,可以安全地抵御来自聚合服务器的保密性和完整性威胁。我们通过结合同态加密(HE)和可验证计算(VC)技术来做到这一点,以便在加密域中直接执行联合平均运算(通过 HE),并产生运算正确应用的正式证明(通过 VC)。由于聚合函数的简单性,我们能够将我们的方法建立在加法 HE 技术上,这些技术在安全方面非常成熟,而且效率很高。我们还引入了一些优化措施,使我们能够在更大的深度学习模型的末端达到实际的执行性能。本文还在 FEMNIST 数据集上提供了广泛的实验结果,证明该方法以实际意义上的计算和通信开销为代价,保留了所产生的模型的质量,至少在客户和服务器端都可以涉及高端机器的跨语境设置上是如此。
1 介绍
近年来,机器学习解决方案,特别是深度学习解决方案被广泛用于不同的领域,如医疗保健、自动驾驶、金融和计算机视觉。然而,这引起了一些安全和隐私问题,因为学习步骤需要访问大量的异质数据,其中一部分可能是敏感或私人信息。
联邦学习(FL)是最近出现的一种训练环境,它允许在中央服务器或服务提供商的协调下协作训练一个模型,而无需将数据外包。因此,每个客户的数据仍然存储在本地,不被共享,只有连续的模型被披露 [1]。由于各种原因,如应对训练数据的敏感性、隐私法和数据法规(如 GDPR [2]、HIPAA [3] 等)或商业要求,这很有意思。即使这种模式比传统的集中式训练模式提供了隐私方面的改进,最近的研究表明,攻击者可以间接地检索到客户的私人数据(基于共享模式的更新,更多细节见 [4],[5],[6])。此外,在有些情况下,模型本身是敏感的(例如由于所有权的原因),或者受到来自 / 来自协调服务器的攻击,以便改变它或修改所产生的推理能力。
在这种情况下,最近有人提议通过新兴的加密技术,如同态加密 [7]、[8] 或多方计算 [9]、[10] 来改善数据隐私和模型保密性。然而,这些方法都没有解决为建立全局模型而进行的计算或客户行为方面的完整性问题。据我们所知,VerifyNet [11] 是唯一提出为 "跨设备"FL(客户是非常多的移动或物联网设备)提供隐私保护训练的工作,它使用双掩码协议和同态哈希函数保证全局模型的完整性。
在本文中,我们提出了一种新的联邦学习的安全方法,使用同态加密和可验证计算,保证训练数据的隐私保护和整个模型的完整性。我们的解决方案解决了来自服务器的威胁,主要用于 "跨主机" 的 FL 设置 [12],其中训练只涉及少数客户(我们认为是可靠的),如几个组织(如医疗、金融、保险)合作训练一个模型。
在这项工作中,我们做出了以下主要贡献:
- 我们提出了一个基于同态加密和可验证计算的隐私保护和可验证的 FL 的安全框架。除了一般的架构,我们还给出了我们的安全联邦学习解决方案的一些实际使用案例。
- 我们使用与 LePCoV 基元 [13] 相关的 Paillier 加法同态方案来具体实例化我们的框架,该方案是源自 [14] 的线性同态验证加密与公共可验证方案。它允许我们在同态加密的数据上对全局训练模型的计算进行验证,并额外保证结果的正确性可以被公开验证。
- 为了加快系统的性能,我们还提出了一个批处理同态加密数据的方法。然后,我们在 FEMNIST 数据集上给出了广泛的性能结果,我们研究了所产生的模型的准确性以及使用我们的同态加密和认证原语所引起的开销。所有这些结果都是使用作为这项工作一部分的框架的高效 C/C++ 原型实现获得的。
- 我们为我们的 FL 方法提供了一个安全和威胁分析。因此,在我们提出的安全假设下,我们确保客户的本地数据和梯度的更新都不会透露给服务器,并且恶意的服务器不能在训练时篡改或误用模型。
论文组织:本文的提醒组织如下。在第二节中介绍了相关的方法,并在第三节中介绍了必要的背景,我们在第四节中介绍了我们的总体框架,相关的威胁分析和基础的加密工具。实验结果和相关性能在第五节中显示。
2 相关工作
2.1 安全的联邦学习和同态加密
大多数将同态加密应用于机器学习模型的工作都集中在对私有加密数据进行推理(例如 CryptoNets [15]、TAPAS [16]、NED [17]),而不是在训练方面。
第一批解决保护隐私的机器学习训练问题的工作集中在一个集中的环境,所有的数据都是外包的,模型只是线性的 [18], [19]。至于少数提出在同态加密数据上对神经网络进行完整的集中训练的方法,它们的性能相当不实际,或者有巨大的加密参数([20])。
其他作品提出了在多服务器情况下的解决方案,无论是聚类还是回归。最近有很多采用同态加密的方法被提出来,用于没有中央服务器的协作式分布式学习,主要用于线性模型 [21], [22],最近还用于神经网络 [23]。
至于跨语言 FL 的情况,最近只有几篇论文提出使用同态加密(通常是加法)来确保全局模型的安全计算([7],[8],[24])。前两种方法只是理论上的,第三种方法使用不同的数据集进行验证。此外,所有上述方法都是在诚实但好奇的中央服务器的经典假设下,没有利用任何可验证的计算协议来确保全局模型的完整性。
2.2 安全的联邦学习和可验证的计算
为了解决深度学习系统中的隐私保护和可验证性问题,已经提出了一些工作,如 SafetyNets [25] 和 Sralom [26]。然而,这些方案要么像 [25] 那样支持小种类的激活函数,要么像 [26] 那样需要额外的硬件协助。 至于将可验证的计算协议应用于 FL 设置(即验证从中央服务器返回的聚合结果的完整性),据我们所知,在这个问题上只有最近的一项工作。Xu 等人 [11] 介绍了 VerifyNet 架构,作为跨设备 FL 的解决方案,该架构保留了与全球服务器有关的模型的完整性和保密性。使用同态哈希和伪随机函数实现对服务器计算结果(即聚合模型)的验证。用户梯度的隐私是通过一个双重掩码协议来保证的,它的不便之处在于需要在用户之间进行多次交换。 正如本节中所看到的,就我们所知,到目前为止,还没有一种安全的 FL 方法,支持服务器计算结果的完整性,同时通过可验证的计算和同态加密保证模型的隐私。
2.3 安全的联邦学习和其他多方计算
多方计算(MPC)协议允许几方合作,以便在他们的私人数据上计算一个函数,这样每一方只知道它的输入和输出。有几种使用 MPC 的 FL 方法 [9], [10],但由于多方计算的高通信成本和 FL 固有的分布式性质,很难实现有效的方法。
2.4 安全的联邦学习和差异化的隐私
少数作品 [27]-[30] 实现了差异化隐私,以保护客户的数据在 FL 背景下不受其他客户或终端用户的影响。这些工作表明,差分隐私更适合于跨设备的 FL 应用。事实上,需要大量的客户端来同时允许:
- 每轮参与者的比例较低,从而限制了某一客户参与的概率,因此(间接地)释放了他在所考虑的那轮训练数据的任何信息
- 每轮参与者的绝对数量很高,从客户层面的差异化隐私角度来看,降低了模型更新的敏感性
在本文的背景下,这种假设是不合理的,因为客户的数量不超过几百个。这就是为什么我们在这项工作中专注于这样的场景:我们认为最终模型的接收者(客户和最终用户)不会对模型更新或最终模型进行成员推理 [31], [32] 或模型反转 [4], [6] 这样的攻击。正确实现差异化隐私需要进一步的实验,我们希望在未来的工作中设计这样一个框架。
3 初步了解
3.1 联邦学习
FL 是一个去中心化的框架,使多个客户在中央服务器的协调下协同训练一个共享的全局模型,同时保持训练数据分布在客户设备上。作为一个起点,服务器随机地初始化一个全局模型,然后 FL 过程由多轮组成。在每一轮的开始,服务器选择一个参加训练的客户端子集,并向他们发送当前的全局模型。接下来,每个被选中的客户在自己的数据上对模型进行本地训练,并只将模型的更新信息传回给服务器。最后,服务器在将这些更新累积到全局模型中之前,对这些更新进行汇总,从而结束这一轮。FL 最常见的优化方法是联合平均算法 [1]。在这里,每个客户端运行若干次小批量随机梯度下降(SGD),使局部损失函数最小化,然后中央服务器对更新的局部模型进行加权平均,形成更新的全局模型。算法 1 中给出了伪代码。通过消除在中央服务器上汇总所有数据的需要,FL 有助于确保数据隐私并降低通信成本。因此,FL 最适用于数据对隐私敏感或数据量大,以至于将其传输到服务器上不可取或不可行的情况。
3.2 同态加密
同态加密(HE)方案允许直接对加密的数据进行计算,而不需要先解密。也就是说,通过完全同态加密方案
:它为密码系统生成钥匙,将模数的位数 作为输入。
选择两个大素数
选择一个随机的
设
:它通过计算 ,使用公钥 产生一个密码文本 ,其中 是信息,随机数 是在 中均匀选择的。 :它使用私钥 ,从密文 计算出明文 。 假设
, 是其在 中的乘法逆数,解密是通过评估以下方程来进行的:
更重要的是,就目前的目的而言,这个密码系统具有以下同态特性:
(两个密文相加)。 - 对于所有
, (密文与一个明文整数相加)。 - 对于所有
, (密文乘以一个明文整数)。
3.3 并行 Paillier
我们可以在同一个
然而,如果我们想对这些打包的密文进行加法,就必须考虑到这一点,以设置初始
因此,我们必须加密
让我们举一个简短的例子。假设我们要加密的每个信息是一个介于
3.4 可验证的计算
可验证计算(或可验证计算)VC 是一种密码学工具,旨在确保在经过验证的数据上计算的完整性。它使客户端能够将一个函数的计算委托给另一个实体(大多数情况下是服务器)。另一个实体评估该函数并返回结果,证明该函数的计算是正确进行的。
现在,我们提出
4 一个保密和可核查的联邦学习的安全框架
4.1 架构概述
4.2 威胁和安全分析
4.3 密码学工具和优化
5 实验结果
5.1 设置 FL 超参数
5.2 量化与效用
5.3 LEPCoV 方案的性能评估
首先,我们要说明的是,本节介绍的所有测试都是在一台 2016 年的 DELL 电脑(Genuine-Intel Core i7-6600U,4 核 2.60GHz,16GB RAM 2.13GHz)上进行的,操作系统为 Ubuntu(Linux 内核 4.15.0-91-generic,架构为 x86-64)。最后,我们使用 C++ 语言来实现 LEPCoV 方案。
表三总结了
表四显示了可以用来用
表五显示了客户端和中央服务器之间在上传和下载时一轮的带宽大小。在上传时(客户端 - 服务器方向),该信息是
表六显示了不同的加密基元的顺序评估时间,对于
表三:在不同模数和数据大小
表四:
表五:一个客户与中心服务器之间的带宽大小(MB),
表六:对精度
6 结论和展望
本文提出的框架通过 HE 和 VC 技术来解决来自聚合服务器的训练数据和模型的保密性和完整性威胁。在提供强大的加密安全保障的基础上,尽管这些技术引起的开销远不能忽略不计,但我们声称,当参与者愿意部署高端机器(10 到 100 个内核)以将整个协议延迟降低到一个可持续的水平时,我们的框架至少在跨语境中实现了实际性能。
因此,这个框架是朝着私人设计的联合学习迈出的重要一步。然而,通过对抗来自终端用户的威胁,将我们的解决方案扩展到一个完全安全的框架,适用于最终模型的接收者可能不被信任(在某种程度上)的情况,这也是可取的。值得注意的是,这需要将差分隐私(DP)带入画面,以防止协议中建立的连续模型(并披露给客户)间接泄露训练数据的敏感信息。在客户或最终模型的最终用户可能是恶意的情况下,DP 确实可以保护模型更新或模型本身免受成员推理 [31], [32] 或模型反转 [4], [6] 等攻击。然而,这样做有许多微妙之处,特别是在分布式噪声的产生方面,或者一方面是 HE 和 VC 的干扰,另一方面是 DP 的干扰。